-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test for chunking upload #212
Conversation
@IljaN - please:
On the content - did you check that the behat tests will transform the upload to chunking? Checking core feature files for webdav - we explicitly chunk: https://github.com/owncloud/core/blob/master/tests/acceptance/features/apiWebdav/webdav-related-new-endpoint.feature#L464-L473 something to consider - instead of uploading a large file, create the file during the test run - so people do not have to check out unecessary large github repositories |
also, as discussed in the core PR:
|
There seems to be no pre-defined step to delete files outside of /$user/files, should i create one? @individual-it, @phil-davis Maybe an abstraction step for the chunking process should be provided which does the whole process without needing to do it manually like this:
|
@PVince81 test added |
4bd9d13
to
5361d39
Compare
@IljaN yes, compressing that list of chunking steps would be nice for "routine" chunking tests - it can assume some stuff and do it all. If you want detailed control (upload weird numbers of chunks of different sizes out-of-order,...) then you can write it out as individual steps. But for now the long-winded steps work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I suggested a few little extra checks that we are starting to add these days - making sure that the HTTP status returned by requested did not lie.
And user "[email protected]" uploads new chunk file "2" with "BBBBB" to id "chunking-42" using the API | ||
And user "[email protected]" uploads new chunk file "3" with "CCCCC" to id "chunking-42" using the API | ||
And user "[email protected]" moves new chunk file with id "chunking-42" to "/tmp/myChunkedFile.txt" using the API | ||
Then as "[email protected]" the file "/tmp/myChunkedFile.txt" should exist |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can also add:
And as "user0" the file "/tmp/myChunkedFile.txt" should exist
just to be sure it ended up where it should.
And user "[email protected]" uploads new chunk file "2" with "BBBBB" to id "chunking-42" using the API | ||
And user "[email protected]" uploads new chunk file "3" with "CCCCC" to id "chunking-42" using the API | ||
And user "[email protected]" cancels chunking-upload with id "chunking-42" using the API | ||
Then the HTTP status code should be "204" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you are feeling like really making sure, you can say:
And as "user0" the file "/tmp/myChunkedFile.txt" should not exist
to be sure the file did not arrive. (Make sure the HTTP status did not lie)
(it seems odd to me that the cancel of chunking is status 204
- but I guess that indicates the cancel was successful)
@IljaN
|
first warning is expected, needs fixing in core at some point. second one is strange... I'll have a look |
hmmm, also something missing on master ? (from Drone results)
|
|
@PVince81 - missing master as the required tests step implementation is in core |
@patrickjahns I'm not seeing the second error from your comment #212 (comment) when running tests locally. Was it from a specific drone run ? |
@patrickjahns ok I see the error on Drone: https://drone.owncloud.com/owncloud/guests/18/43 line 190. Since Drone runs with the daily tarball I should try with that one locally as well. |
@patrickjahns I managed to reproduce this, I wasn't looking properly. Using a search for ".file" helped me find it in the local log. It's a core issue: owncloud/core#31631 Some of our Sabre plugins is trying to clean up custom properties and tries to get the node after it was already moved, so it doesn't find it. Nothing to worry about in the context of uploads, but I mentioned in the ticket that we should check whether a real issue might exist with regular files and custom properties. |
added more verification steps as advised by @phil-davis master got the acceptance test step so I expect everything to be green on all branches now |
Looks good, assuming CI passes. |
daily-master-qa... need to wait for tomorrow as it will contain the fix. stay tuned |
restarted failed builds, expecting success with today's daily-master-qa |
Test for #198
Requires owncloud/core#31596 to be merged